Computing systems typically include multiple types of memory, each type of memory being used for different purposes. For example, main memory is often made of a volatile type of memory. Volatile memory loses its data when power is interrupted. However, volatile memory devices are typically able to operate at higher speeds than non-volatile memory. Non-volatile forms of memory are able to retain their data when no power is supplied. However, non-volatile memory devices typically operate at much lower speeds than volatile memory. Particularly, the speed at which data can be written to non-volatile memory devices is relatively slow. Thus, non-volatile memory devices are typically used for long term storage.
Throughout the drawings, identical reference numbers designate the same elements or parts, but these elements or parts need not be identical.